# Packages ----
library(tidyverse)
[30m── [1mAttaching packages[22m ──────────────────── tidyverse 1.2.1 ──[39m
[30m[32m✔[30m [34mggplot2[30m 3.1.0 [32m✔[30m [34mpurrr [30m 0.3.0
[32m✔[30m [34mtibble [30m 2.0.1 [32m✔[30m [34mdplyr [30m 0.8.0.[31m1[30m
[32m✔[30m [34mtidyr [30m 0.8.2 [32m✔[30m [34mstringr[30m 1.4.0
[32m✔[30m [34mreadr [30m 1.3.1 [32m✔[30m [34mforcats[30m 0.4.0 [39m
[30m── [1mConflicts[22m ─────────────────────── tidyverse_conflicts() ──
[31m✖[30m [34mdplyr[30m::[32mfilter()[30m masks [34mstats[30m::filter()
[31m✖[30m [34mdplyr[30m::[32mlag()[30m masks [34mstats[30m::lag()[39m
incar <- read_csv("../data/incarceration_trends.csv")
Parsed with column specification:
cols(
.default = col_double(),
state = [31mcol_character()[39m,
county_name = [31mcol_character()[39m,
urbanicity = [31mcol_character()[39m,
region = [31mcol_character()[39m,
division = [31mcol_character()[39m
)
See spec(...) for full column specifications.
spec(incar)
cols(
yfips = [32mcol_double()[39m,
year = [32mcol_double()[39m,
fips = [32mcol_double()[39m,
state = [31mcol_character()[39m,
county_name = [31mcol_character()[39m,
total_pop = [32mcol_double()[39m,
total_pop_15to64 = [32mcol_double()[39m,
female_pop_15to64 = [32mcol_double()[39m,
male_pop_15to64 = [32mcol_double()[39m,
asian_pop_15to64 = [32mcol_double()[39m,
black_pop_15to64 = [32mcol_double()[39m,
latino_pop_15to64 = [32mcol_double()[39m,
native_pop_15to64 = [32mcol_double()[39m,
other_pop_15to64 = [32mcol_double()[39m,
white_pop_15to64 = [32mcol_double()[39m,
urbanicity = [31mcol_character()[39m,
region = [31mcol_character()[39m,
division = [31mcol_character()[39m,
commuting_zone = [32mcol_double()[39m,
metro_area = [32mcol_double()[39m,
land_area = [32mcol_double()[39m,
total_jail_adm = [32mcol_double()[39m,
total_jail_adm_dcrp = [32mcol_double()[39m,
female_jail_adm_dcrp = [32mcol_double()[39m,
male_jail_adm_dcrp = [32mcol_double()[39m,
total_jail_pop = [32mcol_double()[39m,
female_jail_pop = [32mcol_double()[39m,
male_jail_pop = [32mcol_double()[39m,
asian_jail_pop = [32mcol_double()[39m,
black_jail_pop = [32mcol_double()[39m,
latino_jail_pop = [32mcol_double()[39m,
native_jail_pop = [32mcol_double()[39m,
white_jail_pop = [32mcol_double()[39m,
total_jail_pretrial = [32mcol_double()[39m,
female_jail_pretrial = [32mcol_double()[39m,
male_jail_pretrial = [32mcol_double()[39m,
jail_from_state_prison = [32mcol_double()[39m,
jail_from_other_state_prison = [32mcol_double()[39m,
jail_from_state_jail = [32mcol_double()[39m,
jail_from_other_state_jail = [32mcol_double()[39m,
jail_from_fed = [32mcol_double()[39m,
jail_from_ice = [32mcol_double()[39m,
total_jail_pop_dcrp = [32mcol_double()[39m,
female_jail_pop_dcrp = [32mcol_double()[39m,
male_jail_pop_dcrp = [32mcol_double()[39m,
total_prison_pop = [32mcol_double()[39m,
female_prison_pop = [32mcol_double()[39m,
male_prison_pop = [32mcol_double()[39m,
asian_prison_pop = [32mcol_double()[39m,
black_prison_pop = [32mcol_double()[39m,
latino_prison_pop = [32mcol_double()[39m,
native_prison_pop = [32mcol_double()[39m,
other_prison_pop = [32mcol_double()[39m,
white_prison_pop = [32mcol_double()[39m,
total_prison_adm = [32mcol_double()[39m,
female_prison_adm = [32mcol_double()[39m,
male_prison_adm = [32mcol_double()[39m,
asian_prison_adm = [32mcol_double()[39m,
black_prison_adm = [32mcol_double()[39m,
latino_prison_adm = [32mcol_double()[39m,
native_prison_adm = [32mcol_double()[39m,
other_prison_adm = [32mcol_double()[39m,
white_prison_adm = [32mcol_double()[39m,
num_facilites = [32mcol_double()[39m,
num_employees = [32mcol_double()[39m,
confined_pop = [32mcol_double()[39m,
capacity = [32mcol_double()[39m,
ucr_population = [32mcol_double()[39m,
index_crime = [32mcol_double()[39m,
violent_crime = [32mcol_double()[39m,
property_crime = [32mcol_double()[39m,
murder_crime = [32mcol_double()[39m,
rape_crime = [32mcol_double()[39m,
robbery_crime = [32mcol_double()[39m,
agr_assault_crime = [32mcol_double()[39m,
burglary_crime = [32mcol_double()[39m,
larceny_crime = [32mcol_double()[39m,
mv_theft_crime = [32mcol_double()[39m,
arson_crime = [32mcol_double()[39m
)
dim(incar)
[1] 147533 79
What missing data do I have?
Is missingness related to year?
incar %>%
group_by(urbanicity) %>%
summarise(
min = min(total_prison_pop, na.rm = TRUE),
median = median(total_prison_pop, na.rm = TRUE),
max = max(total_prison_pop, na.rm = TRUE)
)
Which counties have the highest prison population per capita
incar %>%
filter(year >= 2000, state == "TX") %>%
inner_join(top_texas_counties) %>%
select(year, state, county_name, total_prison_pop, total_pop) %>%
mutate(prison_pop_per_capita = total_prison_pop / total_pop) %>%
ggplot(aes(x = year, y = prison_pop_per_capita, col = county_name)) +
geom_line(show.legend = FALSE) +
scale_y_continuous(labels = scales::percent) +
facet_wrap(~county_name, scales = "free") +
theme_bw()
Joining, by = "county_name"
Which county’s have the biggest change?
incar %>%
filter(year >= 2000) %>%
mutate(prison_pop_per_capita = total_prison_pop / total_pop) %>%
group_by(county_name, state) %>%
summarise(variance = var(prison_pop_per_capita, na.rm = TRUE),
spread = max(prison_pop_per_capita, na.rm = TRUE) - min(prison_pop_per_capita, na.rm = TRUE))